package com.uls.questionnaire.mapper;

import java.util.List;
import com.uls.questionnaire.domain.ZxhQuestion;
import com.uls.questionnaire.domain.ZxhOptiones;

/**
 * 问题信息Mapper接口
 * 
 * @author zxh
 * @date 2024-10-31
 */
public interface ZxhQuestionMapper 
{
    /**
     * 查询问题信息
     * 
     * @param questionId 问题信息主键
     * @return 问题信息
     */
    public ZxhQuestion selectZxhQuestionByQuestionId(Long questionId);

    /**
     * 查询问题信息列表
     * 
     * @param zxhQuestion 问题信息
     * @return 问题信息集合
     */
    public List<ZxhQuestion> selectZxhQuestionList(ZxhQuestion zxhQuestion);

    /**
     * 新增问题信息
     * 
     * @param zxhQuestion 问题信息
     * @return 结果
     */
    public int insertZxhQuestion(ZxhQuestion zxhQuestion);

    /**
     * 修改问题信息
     * 
     * @param zxhQuestion 问题信息
     * @return 结果
     */
    public int updateZxhQuestion(ZxhQuestion zxhQuestion);

    /**
     * 删除问题信息
     * 
     * @param questionId 问题信息主键
     * @return 结果
     */
    public int deleteZxhQuestionByQuestionId(Long questionId);

    /**
     * 批量删除问题信息
     * 
     * @param questionIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteZxhQuestionByQuestionIds(Long[] questionIds);

    /**
     * 批量删除选项信息
     * 
     * @param questionIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteZxhOptionesByQuestionIds(Long[] questionIds);
    
    /**
     * 批量新增选项信息
     * 
     * @param zxhOptionesList 选项信息列表
     * @return 结果
     */
    public int batchZxhOptiones(List<ZxhOptiones> zxhOptionesList);
    

    /**
     * 通过问题信息主键删除选项信息信息
     * 
     * @param questionId 问题信息ID
     * @return 结果
     */
    public int deleteZxhOptionesByQuestionId(Long questionId);

    List<ZxhQuestion> selectQuestionsByQuestionnaireId(Long questionnaireId);
}
